Brain#

The results for the CNeuroMod quantitative MRI longitudinal stability study for the brain are displayed below in two sections, Quantitative MRI and Diffusion, reflecting the two separate pipelines used to processes these datasets (see the Materials and Methods section for pipeline diagrams). The mean intrasubject and intersubject COVs are reported in tables below each respective figure, as well as the intrasubject COV standard deviation.

The figures are presented in an interactive format using the Plotly framework, you can hover to view the values of each datapoints, use the dropdown box (when applicable) to change between metrics, click and drag to zoom in, etc.

This page was generated using an Jupyter Notebook, and all the commands run to reproduce the figure using the prepared and packaged ROI data are shown prior to the figures. If you’d like to re-run the notebook, you can click the 🚀 icon on the top right of this page and then on “Binder” to open a MyBinder session in your browser - no installation is required.

Quantitative MRI#

Code imports#

# Python imports 
from IPython.display import clear_output
from pathlib import Path
import numpy as np

import pandas as pd
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', 1000)
pd.set_option('display.colheader_justify', 'center')
pd.set_option('display.precision', 1)

# Import custom tools
from tools.data import Data
from tools.plot import Plot
from tools.stats import Stats

Download data#

data_type = 'brain'
release_version = 'latest'

dataset = Data(data_type)
dataset.download(release_version)
--2023-04-06 19:20:17--  https://github.com/courtois-neuromod/anat-processing/releases/download/r20220921/neuromod-anat-brain-qmri.zip
Resolving github.com (github.com)... 140.82.114.4
Connecting to github.com (github.com)|140.82.114.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/59a68bb3-4423-49ab-959d-247690acbebc?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230406%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230406T192017Z&X-Amz-Expires=300&X-Amz-Signature=f98cbf5395df978d4fab3b4ffc25d623ffb75804596bbbbb1118965a1bbc9af0&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dneuromod-anat-brain-qmri.zip&response-content-type=application%2Foctet-stream [following]
--2023-04-06 19:20:17--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/59a68bb3-4423-49ab-959d-247690acbebc?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230406%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230406T192017Z&X-Amz-Expires=300&X-Amz-Signature=f98cbf5395df978d4fab3b4ffc25d623ffb75804596bbbbb1118965a1bbc9af0&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dneuromod-anat-brain-qmri.zip&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 
Archive:  neuromod-anat-brain-qmri.zip
  inflating: data/brain/neuromod-anat-brain.nextflow.log  
  inflating: data/brain/results-neuromod-anat-brain-qmri.csv  
  inflating: data/brain/._results-neuromod-anat-brain-qmri.csv  
  inflating: data/brain/dag.dot      
  inflating: data/brain/report.html  
  inflating: data/brain/dag.png      
200 OK
Length: 1301347 (1.2M) [application/octet-stream]
Saving to: ‘neuromod-anat-brain-qmri.zip’

     0K .......... .......... .......... .......... ..........  3% 8.82M 0s
    50K .......... .......... .......... .......... ..........  7% 10.3M 0s
   100K .......... .......... .......... .......... .......... 11% 62.5M 0s
   150K .......... .......... .......... .......... .......... 15% 33.6M 0s
   200K .......... .......... .......... .......... .......... 19% 16.8M 0s
   250K .......... .......... .......... .......... .......... 23% 73.6M 0s
   300K .......... .......... .......... .......... .......... 27% 79.4M 0s
   350K .......... .......... .......... .......... .......... 31% 54.7M 0s
   400K .......... .......... .......... .......... .......... 35%  222M 0s
   450K .......... .......... .......... .......... .......... 39%  251M 0s
   500K .......... .......... .......... .......... .......... 43% 19.1M 0s
   550K .......... .......... .......... .......... .......... 47% 85.0M 0s
   600K .......... .......... .......... .......... .......... 51%  241M 0s
   650K .......... .......... .......... .......... .......... 55%  250M 0s
   700K .......... .......... .......... .......... .......... 59%  197M 0s
   750K .......... .......... .......... .......... .......... 62%  124M 0s
   800K .......... .......... .......... .......... .......... 66%  142M 0s
   850K .......... .......... .......... .......... .......... 70%  132M 0s
   900K .......... .......... .......... .......... .......... 74%  197M 0s
   950K .......... .......... .......... .......... .......... 78%  164M 0s
  1000K .......... .......... .......... .......... .......... 82%  173M 0s
  1050K .......... .......... .......... .......... .......... 86% 26.4M 0s
  1100K .......... .......... .......... .......... .......... 90%  225M 0s
  1150K .......... .......... .......... .......... .......... 94%  155M 0s
  1200K .......... .......... .......... .......... .......... 98%  178M 0s
  1250K .......... ..........                                 100%  139M=0.03s

2023-04-06 19:20:17 (46.8 MB/s) - ‘neuromod-anat-brain-qmri.zip’ saved [1301347/1301347]

Load data plot it#

qMRI Metrics#

dataset.load()
fig_gm = Plot(dataset, plot_name = 'brain-1')

fig_gm.title = 'Brain qMRI microstructure measures'
# If you're running this notebook in a Jupyter Notebook (eg, on MyBinder), change 'jupyter-book' to 'notebook'
fig_gm.display('jupyter-book')

Statistics#

White Matter#
stats_wm = Stats(dataset)
stats_wm.build_df('WM')
stats_wm.build_stats_table()
display(stats_wm.stats_table)
T1 (MP2RAGE) T1 (MTsat) MTR MTsat
intrasubject COV mean [%] 0.6 2.3 0.6 1.7
intrasubject COV std [%] 0.2 0.8 0.1 0.5
intersubject mean COV [%] 1.9 3.5 0.4 2.2
Grey Matter#
stats_gm = Stats(dataset)
stats_gm.build_df('GM')
stats_gm.build_stats_table()
display(stats_gm.stats_table)
T1 (MP2RAGE) T1 (MTsat) MTR MTsat
intrasubject COV mean [%] 0.4 3.1 0.8 2.7
intrasubject COV std [%] 0.1 1.6 0.2 1.2
intersubject mean COV [%] 1.0 5.7 1.2 4.5

Diffusion#

data_type = 'brain-diffusion-cc'
release_version = 'latest'

dataset = Data(data_type)
dataset.download(release_version)
--2023-04-06 19:20:19--  https://github.com/courtois-neuromod/anat-processing/releases/download/r20230110/brain-diffusion-cc.zip
Resolving github.com (github.com)... 140.82.114.4
Connecting to github.com (github.com)|140.82.114.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/6e6dd34d-c009-4079-bea8-df5eea106c89?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230406%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230406T192019Z&X-Amz-Expires=300&X-Amz-Signature=e765dfbf2d695b16bfa27bc1945e7af7e0f680b4cd3f20624e5eddcd38453b8d&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dbrain-diffusion-cc.zip&response-content-type=application%2Foctet-stream [following]
--2023-04-06 19:20:19--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/333825187/6e6dd34d-c009-4079-bea8-df5eea106c89?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230406%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230406T192019Z&X-Amz-Expires=300&X-Amz-Signature=e765dfbf2d695b16bfa27bc1945e7af7e0f680b4cd3f20624e5eddcd38453b8d&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=333825187&response-content-disposition=attachment%3B%20filename%3Dbrain-diffusion-cc.zip&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.109.133, 185.199.110.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 
Archive:  brain-diffusion-cc.zip
  inflating: data/brain-diffusion-cc/labels.py  
  inflating: data/brain-diffusion-cc/._labels.py  
  inflating: data/brain-diffusion-cc/.DS_Store  
  inflating: data/brain-diffusion-cc/._.DS_Store  
  inflating: data/brain-diffusion-cc/labels.ipynb  
  inflating: data/brain-diffusion-cc/._labels.ipynb  
  inflating: data/brain-diffusion-cc/corpus_callosum-metrics.csv  
  inflating: data/brain-diffusion-cc/._corpus_callosum-metrics.csv  
200 OK
Length: 15248 (15K) [application/octet-stream]
Saving to: ‘brain-diffusion-cc.zip’

     0K .......... ....                                       100% 61.3M=0s

2023-04-06 19:20:19 (61.3 MB/s) - ‘brain-diffusion-cc.zip’ saved [15248/15248]
dataset.load()

fig_diff = Plot(dataset, plot_name = 'brain-diff-cc')

fig_diff.title = 'Brain qMRI diffusion measures - corpus callosum'
# If you're running this notebook in a Jupyter Notebook (eg, on MyBinder), change 'jupyter-book' to 'notebook'
fig_diff.display('jupyter-book')

Statistics#

Genu#

stats_cc1 = Stats(dataset)
stats_cc1.build_df('genu')
stats_cc1.build_stats_table()
display(stats_cc1.stats_table)
FA (DWI) MD (DWI) RD (DWI)
intrasubject COV mean [%] 0.8 1.0 1.3
intrasubject COV std [%] 0.3 0.6 0.6
intersubject mean COV [%] 4.2 6.2 10.3

Body#

stats_cc1 = Stats(dataset)
stats_cc1.build_df('body')
stats_cc1.build_stats_table()
display(stats_cc1.stats_table)
FA (DWI) MD (DWI) RD (DWI)
intrasubject COV mean [%] 0.6 0.7 0.7
intrasubject COV std [%] 0.2 0.2 0.3
intersubject mean COV [%] 3.8 3.0 6.2

Splenium#

stats_cc1 = Stats(dataset)
stats_cc1.build_df('splenium')
stats_cc1.build_stats_table()
display(stats_cc1.stats_table)
FA (DWI) MD (DWI) RD (DWI)
intrasubject COV mean [%] 0.6 0.7 0.8
intrasubject COV std [%] 0.1 0.2 0.3
intersubject mean COV [%] 2.6 3.1 6.3